package com.day01.ListSetMapTest;

import java.util.Arrays;
import java.util.HashSet;
import java.util.LinkedHashSet;
import java.util.TreeSet;

public class test {
    public static void main(String args[]) {
        HashSet<String> hashSet = new HashSet<>();
        LinkedHashSet<String> linkedHashSet = new LinkedHashSet<>();
        TreeSet<String> treeSet = new TreeSet<>();

        for (String data : Arrays.asList("B", "E", "D", "C", "A")) {
            hashSet.add(data);
            linkedHashSet.add(data);
            treeSet.add(data);
        }

        //不保证有序
        System.out.println("Ordering in HashSet :" + hashSet);

        //FIFO保证安装插入顺序排序
        System.out.println("Order of element in LinkedHashSet :" + linkedHashSet);

        //内部实现排序
        System.out.println("Order of objects in TreeSet :" + treeSet);

/**
 * 运行结果:
 * Ordering in HashSet :[A, B, C, D, E] (无顺序)
 * Order of element in LinkedHashSet :[B, E, D, C, A] (FIFO插入有序)
 * Order of objects in TreeSet :[A, B, C, D, E] (排序)
 */

    }
/**
 * List：1.可以允许重复的对象。
 * 2.可以插入多个null元素。
 * 3.是一个有序容器，保持了每个元素的插入顺序，输出的顺序就是插入的顺序。
 * 4.常用的实现类有 ArrayList、LinkedList 和 Vector。ArrayList 最为流行，它提供了使用索引的随意访问，而 LinkedList 则对于经常需要从 List 中添加或删除元素的场合更为合适。
 */
    //https://img-blog.csdnimg.cn/2019022812322913.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwMjI1NzI1,size_16,color_FFFFFF,t_70
}
